<!DOCTYPE html>
<html>
<!--
Copyright 2009 The Closure Library Authors. All Rights Reserved.

Use of this source code is governed by the Apache License, Version 2.0.
See the COPYING file for details.
-->
<!--

  @author nicksantos@google.com (Nick Santos)
-->
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Closure Unit Tests for ColorMenuButtonRenderer</title>
<script src="../base.js"></script>
<script>
  goog.require('goog.dom');
  goog.require('goog.dom.classes');
  goog.require('goog.events');
  goog.require('goog.events.Event');
  goog.require('goog.testing.events');
  goog.require('goog.testing.jsunit');
  goog.require('goog.testing.ui.RendererHarness');
  goog.require('goog.testing.ui.rendererasserts');
  goog.require('goog.ui.ColorMenuButton');
  goog.require('goog.userAgent');
</script>
</head>
<body>

<div id='root'>
  <!-- A parent to attach rendered buttons to -->
  <div id='parent'></div>

  <!-- A button to decorate -->
  <div id='decoratedButton'><div>Foo</div></div>
</div>

<script>

var harness;

function setUp() {
  harness = new goog.testing.ui.RendererHarness(
      goog.ui.ColorMenuButtonRenderer.getInstance(),
      goog.dom.getElement('parent'),
      goog.dom.getElement('decoratedButton'));
}

function tearDown() {
  harness.dispose();
}

function testEquality() {
  harness.attachControlAndRender(
      new goog.ui.ColorMenuButton('Foo'));
  harness.attachControlAndDecorate(
      new goog.ui.ColorMenuButton());
  harness.assertDomMatches();
}

function testWrapCaption() {
  var caption = goog.dom.createDom('div', null, 'Foo');
  var wrappedCaption = goog.ui.ColorMenuButtonRenderer.wrapCaption(caption,
      goog.dom.getDomHelper());
  assertNotEquals('Caption should have been wrapped', caption, wrappedCaption);
  assertEquals('Wrapped caption should have indicator css class',
      'goog-color-menu-button-indicator', wrappedCaption.className);
}

function testSetCaptionValue() {
  var caption = goog.dom.createDom('div', null, 'Foo');
  var wrappedCaption = goog.ui.ColorMenuButtonRenderer.wrapCaption(caption,
      goog.dom.getDomHelper());
  goog.ui.ColorMenuButtonRenderer.setCaptionValue(wrappedCaption, 'red');

  var expectedColor = goog.userAgent.IE ? '#ff0000' : 'rgb(255, 0, 0)';
  assertEquals(expectedColor, caption.style.borderBottomColor);
}

function testDoesntCallGetCssClassInConstructor() {
  goog.testing.ui.rendererasserts.
      assertNoGetCssClassCallsInConstructor(goog.ui.ColorMenuButtonRenderer);
}
</script>
</body>
</html>
